package com.bjsxt.ios3;

import java.io.*;

/**
 * 使用字节流可以读写任意类型的文件
 * 使用字符流只可以读写文本文件（使用记事本可以打开的文件） doc 是文本文件？ 不是
 *
 * 使用字符流的好处：处理非英文方便
 *
 * 其实只有字节流，没有字符流；字符流的底层还是字节流
 *    输入流              输出流
 * FileInputStream FileOutputStream  字节流
 * FileReader FileWriter   字符流
 *
 * 全部都是节点流：直接和数据源相邻，不是处理流
 *
 *
 */
public class TestCopy3 {
    public static void main(String[] args){
        //1.创建输入流和输出流
        try ( Reader fr =  new FileReader("e:/readme.txt");
              Writer fw = new FileWriter("e:/readme4.txt");){
            // 2.使用输入流和输出流复制文件
            //2.1定义一个中转站：一个字符数组
            char [] cbuf = new char[1024];
            int len = fr.read(cbuf);
            while(len !=-1){
                //写一个字符数组的内容到文件
                fw.write(cbuf,0,len);
                //再读一个字符数组到中转站
                len = fr.read(cbuf);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
